Recent advances in technology often require a connection to be established between two devices. Establishing a connection between two devices is often referred to as pairing. To pair, devices often use communication protocols, such as Bluetooth™ or Wireless, that enable the devices to communicate with each other in order to establish the connection. Typically, the process for pairing devices requires the devices to authenticate with each other by sharing security keys via these communication protocols. A security key, which is alternatively often referred to as a private key or secret key, must remain secret between the communicating parties if it is intended that future communication, including long range communication, between the communicating paired devices is to remain private.
However, communication protocols, such as Bluetooth™ or Wireless, are often vulnerable to attacks by untrusted third parties. For example, an untrusted third-party may uncover the content of messages using specialized sniffing programs or techniques, such as blueprinting, bluesnarfing, bluebugging, bluejacking, bluesmacking, man-in-the-middle attacks, address resolution protocol spoofing, etc. An untrusted third-party may use one or more of these specialized techniques to uncover the security keys that are shared between the two devices, which, therefore, makes the connection between the two devices unsecure.
In some existing systems, a trusted authority may issue a certificate or other technique for communicating the secret key. Thus, the trusted authority may hide the secret from anyone listening to a network using complexed protocols and procedures. In addition, by requiring a trusted authority, these systems often increase the storage overhead as well as decrease the speed of pairing between the devices.
Thus, a new technique for sharing security keys between two devices is needed to reduce the risks of untrusted third parties from intercepting the security key when the security key is shared in the clear (i.e., unencrypted, or in an open environment using one or more of the communication protocols), increase the security and speed of pairing between the two devices, and reduce the amount of overhead that is required to share security keys. In view of these and other shortcomings and problems with securely pairing transmitting devices with receiving devices, improved systems and techniques for pairing devices are desirable.